import threading
import time

# 假如我们创建两个线程，一个每隔两秒对传入的数加2，一个每隔1秒对传入的数加1，代码示例如下：

"""
threading.Thread(target=None, name=None, args=(), kwargs={})

target 指要创建的线程的方法名，name 指给此线程命名，
命名后可以调用 threading.current_thread().name 方法输出该线程的名字， 
args/kwargs 指 target 指向的方法需要传递的参数，必须是元组形式，如果只有一个参数，需要以添加逗号。

"""
def job1(num):
    while True:
        num += 2
        print('{} is running >> {}'.format(threading.current_thread().name, num))
        time.sleep(2)


new_job = threading.Thread(target=job1, name='Add2', args=(100,))
new_job.start()
n = 1
while True:
    n += 1
    print('{} is running >> {}'.format(threading.current_thread().name, n))
    time.sleep(1)





# import threading
# import time
#
#
# class MyThread(threading.Thread):
#     def __init__(self, n):
#         super().__init__() #必须调用父类的初始化方法
#         self.n = n
#
#     def run(self) -> None:
#         while True:
#             self.n += 2
#             print('{} is running >> {}'.format(threading.current_thread().name, self.n))
#             time.sleep(2)
#
#
# new_job = MyThread(100)
# new_job.setName("Add2")
# new_job.start()
# n = 1
# while True:
#     n += 1
#     print('{} is running >> {}'.format(threading.current_thread().name, n))
#     time.sleep(1)

